草庐IT

c++ - Linux C++ 调试器

全部标签

windows - 禁止将 EXCEPTION_DEBUG_EVENT 传递给附加的调试器

我正在处理一个反调试应用程序,它禁止将EXCEPTION_DEBUG_EVENT传递给我的调试器,而是执行其SEH和UnhandledExceptionFilters。我尝试了3种不同的调试器(甚至是自制的)我的调试器接收到其他调试事件,如LOAD_DLL、CREATE_THREAD等第一次调试和最后一次调试都没有通过异常我自己创建的线程的断点事件被传递给调试器,因此反调试方法必须是线程特定的,并且可能是对ThreadInformationBlock的修改没有内核模式访问权限那怎么可能在用户模式下传递EXCEPTION_DEBUG_EVENT(只针对一个线程,不影响整个进程)?

windows - 将 Apache 2.2 作为单个 httpd.exe 运行以进行调试

我在Windows上以控制台模式运行Apache2.2以测试我正在编写的apache模块。默认情况下,父httpd.exe启动(具有一个线程),它启动具有多个工作线程的子httpd.exe。现在我每次都必须将调试器附加到子进程才能调试我的模块。有没有办法将Apache配置为从单个httpd.exe运行?(如果我没记错的话,就像过去的美好时光一样)我一直在搜索文档,但除了每个线程或进程的请求处理数量限制之外没有发现任何其他内容...... 最佳答案 您可能想使用httpd.exe-X它将apache作为单个进程运行,而无需返回终端/c

windows - Qt Creator 调试

我在3个平台上使用QTCreator来创建独立于平台的软件。但是,我在Windows中遇到完全相同代码的段错误。这听起来还不错,因为我可以使用调试器。除了,无论我设置了多少个断点或设置它们的位置,它们都会被调试器忽略。我100%确定我的控制流正在通过断点但没有中断流。有什么想法吗?怎么会这样? 最佳答案 呸!我在Qt中使用Cmake,但未能设置CMAKE_BUILD_TYPE变量。就是这样! 关于windows-QtCreator调试,我们在StackOverflow上找到一个类似的问题

windows - 什么是适用于 Windows 的优秀开源调试器和内存分析器?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion在Unix世界中,我一直很高兴地使用gdb进行调试,使用valgrind进行内存分析。是否有适用于Windows的开源质量替代品?我正在寻找轻量级软件,它们可以满足您的需求,而且永远不会妨碍您(就像gdb和valgrind)。

c++ - 我可以使用 Windows 事件日志来调试应用程序吗?

我的应用程序崩溃并生成一个Windows事件日志,内容如下:Faultingapplicationsomeapp.exe,version1.0.0.0,faultingmoduleTAOd.dll,version1.6.9.0,faultaddress0x0000f8286.有没有办法将这个地址映射到方法调用?我没有调试信息。该应用程序正在生产机器上运行,因此无法随时停止。我想从如此少的信息中找到线索... 最佳答案 是的,有办法。生成映射文件并查找函数。编辑:尝试http://www.codeproject.com/KB/debu

c# - 调试 - Windows 调试器有检查点功能吗?

是否有一个Windows(win32、.net)调试器可以执行类似gdb检查点的操作?http://sourceware.org/gdb/current/onlinedocs/gdb/Checkpoint_002fRestart.html 最佳答案 我在Windows上听说过的最接近的功能是IntelliTrace.另一个文档在这里:http://msdn.microsoft.com/en-us/library/dd264915%28VS.100%29.aspx该功能有很多限制-不支持64位、native代码、脚本或SQLCLR

c - 使用 _sprintf_l 以 thousands_sep 格式化 double

我正在尝试使用Windows特定的_sprintf_l根据德语区域设置格式化double;即逗号作为小数点,句点作为千位分隔符。简而言之,我希望“123456.789”看起来像“123.456,79”(如果只打印两位小数)。但是,千位分隔符没有生效:char*loc=setlocale(LC_NUMERIC,"German");doubleval=123456.789;charbuffer[32]={0};_locale_tlocaleinfo;localeinfo=_get_current_locale();_sprintf_l(buffer,"%.2f",localeinfo,va

c - 为什么 AssignProcessToJobObject 在 XP 上失败并出现拒绝访问错误?

我有以下代码:#include#include#include#pragmacomment(lib,"shlwapi.lib")int__cdeclwmain(intargc,PWSTRargv[]){HANDLEJob(CreateJobObject(NULL,NULL));if(!Job){wprintf(L"Couldnotcreatejobobject,error%d\n",GetLastError());return0;}HANDLEIOPort(CreateIoCompletionPort(INVALID_HANDLE_VALUE,NULL,0,1));if(!IOPort

windows - 使用 1394 连接调试 Windows XP 内核

主机:Windows7x64guest:WindowsXPSP3x86我在两端都有2个PCI火线卡(SIIG1394安装为德州仪器OHCI兼容IEEE1394主机Controller)。在WindowsXP上,我在boot.ini中添加了以下内容:/debug/debugport=1394/channel=10我重新启动了WindowsXP,OHCI驱动程序变成了黄色(这是预料之中的)。在Windows7(主机)上,我运行WinDBG(x86),打开内核调试,1394,指定channel10并运行它说:Using1394fordebuggingChecking1394debugdriv

windows - 使用两个 VirtualBox 主机调试 Windows 内核

我正在运行Linux,并且在VirtualBox中安装了两台Windows7机器。现在我正在尝试使用第一台机器调试第二台机器。所以我为两台机器配置了相同的宿主管道,在调试器机器中,我启动了等待COM1上的输入的windbg:在被调试机器上,我启用Debug模式并重启,C:\Users\XX>bcdedit/dbgsettingsdebugtypeSerialdebugport1baudrate115200但他们好像并不认识,只是一味的等待。有什么问题吗?还是根本不可能实现。 最佳答案 在其中一个虚拟机上取消选中“创建管道”(最佳实践